package com.ceadeal.admin.util;

import org.springframework.util.StringUtils;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 功能描述: 字符串工具类
 *
 * 作者: Yzw
 * 日期: 2017-03-08 10:04:28
 */
public class StringUtil {

    /**
     * 判断是否为空或空字符串
     * @param str
     * @return
     */
    public static boolean isEmpty(String str) {
        return StringUtils.isEmpty(str);
    }

    /**
     * 判断是否为不为空
     * @param str
     * @return
     */
    public static boolean isNotEmpty(String str) {
        return !StringUtils.isEmpty(str);
    }

    /**
     * 验证输入手机号码
     * @param mobile
     * @return
     */
    public static boolean isMobile(String mobile) {
        String regex = "^[1][3,4,5,7,8][0-9]{9}$";
        return match(regex, mobile);
    }

    /**
     * 正则匹配
     * @param regex 正则表达式字符串
     * @param str   要匹配的字符串
     * @return 如果str 符合 regex的正则表达式格式,返回true, 否则返回 false;
     */
    private static boolean match(String regex, String str) {
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(str);
        return matcher.matches();
    }

    /**
     * 隐藏手机号码的中间字段
     * @param mobile
     * @return
     */
    public static String hideMobile(String mobile) {
        if (isMobile(mobile)) {
            return mobile.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2");
        }
        return mobile;
    }

}
